* Add editor task module, drop NodeGraphUpdateSender
* Remove Node::reset and unused value nodes
* Remove unneeded async from vector nodes
* Remove unneeded async from graphic nodes
* Remove unneeded async from raster nodes
* Remove unneeded async from the remaining nodes
* Make most node fns private
* Make node construction sync
* Remove block_on around node construction
* Move GPU readback into ConvertAsync
* Make Convert sync
* Make wgpu pipelines and vello rendering sync
* Make convert, brush and render nodes sync
* Pass editor API as owned Arc
* Take scope inputs by value
* Move Spawn and Task into core-types
* Add Poll type and status tracking
* Add source generations to context
* Stop storing context features in the document
* Track source ids in context modification
* Add async runtime and memo table
* Pass runtime through scope, expose source ids
* Set up async runtime in editor, CLI and benches
* Give async nodes runtime and source id inputs
* Classify node return types in the macro
* Make Node eval sync and return Poll
* Make lazy input nodes, tests and benches sync
* Rerender when a spawned task finishes
* Rerender in CLI until all tasks are done
* Abort pending tasks when node is dropped
* Trace errors through Poll node inputs
* Let node errors carry upstream errors
* Resolve error traces to the origin node
* Show evaluation errors in the node graph
* Default unmapped item primaries to a value
* Add debug nodes
* Memoize fallback results too
* Show multiple node graph errors
* Report node errors in CLI
* Attach input fallback error as upstream
* Keep input fallback error when node fails
* Keep Poll status in render cache
* Keep last frame while graph is pending
* Treat partial export output as pending
* Move environment from global to dispatcher
* Add editor builder, drop global node runtime
* Add Wake message, rerun graph when tasks finish
* Add source generation tests
* Add test for node error origin
* Add render status overlay
* Replace error artwork with render status
* Poll node graph through portfolio message
* Minor review fixups
* Remove future type and macro
---------
Co-authored-by: Dennis Kobert <dennis@kobert.dev>
Refactor async execution to deprecate use of rust futures in favour of a custom poll architecture
Implementing RFC merged in #4556
Closes #3781